package code01_java基础;
import java.util.Scanner;
/**
 * @author 黄衡熙
 * @version 1.0
 * @date 2025年07月17日9:24
 */
public class Test08_练习 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入第一个int类型的数字:");
        int a = sc.nextInt();
        System.out.print("请输入第二个int类型的数字:");
        int b = sc.nextInt();

        System.out.println("*****************交换前的值*****************");
        System.out.println("a=" + a + ",b=" + b);

        // 方式一:交换过程中可以存在第三个变量
        int temp = a;
        a = b;
        b = temp;
        System.out.println("*****************第一次交换后的值*****************");
        System.out.println("a=" + a + ",b=" + b);

        // 方式二:交换过程中不能存在第三个变量
        // 此时存在两个数字,可以计算出两数之和,可以通过两数之和与其中任意一个数获取到另一个数
        // 将两数之和赋值给其中一个变量
        a = a + b;
        // 将原来的a的值赋值给b,通过两数之和-原来的b的值=原来的a的值
        // 此时的a是两数之和,此时的b是原来的b
        b = a - b;
        // 将原来的b的值赋值给a
        // 此时的a是两数之和,此时的b是原来的a,通过两数之和-原来的a=原来的b的值
        a = a - b;
        System.out.println("*****************第二次交换后的值*****************");
        System.out.println("a=" + a + ",b=" + b);
    }
}